package com.yxw.live_vod_boot.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 点播视频播放统计VO
 * @author liuxin
 * @date 2023-11-26
 */
@Data
@ApiModel(value="点播视频播放统计", description="点播视频播放统计VO")
public class VideoPalyStatisticsVo implements Serializable {

    @ApiModelProperty(value="视频ID")
    private Long videoId;
    /**
     * 视频主体
     */
    @ApiModelProperty(value="视频标题")
    private String titel;

    @ApiModelProperty(value="封面地址")
    private String coverUrl;

    @ApiModelProperty(value="发布时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value="时长 秒")
    private Float duration;

    /**
     * 视频播放数据
     */
    @ApiModelProperty(value="播放次数")
    private Integer playCnt;

    @ApiModelProperty(value="完播率")
    private String completePlatRate;

    @ApiModelProperty(value="平均播放时长")
    private BigDecimal avgDuration;
    /**
     * 互动数据
     */
    @ApiModelProperty(value="评论量")
    private Integer commentCnt;

    @ApiModelProperty(value="点赞量")
    private Integer likeCnt;

    @ApiModelProperty(value="分享量")
    private Integer shareCnt;

    @ApiModelProperty(value="吸粉量")
    private Integer attractFansCnt;

    @ApiModelProperty(value="点赞率")
    private String likeRate;

    @ApiModelProperty(value="分享率")
    private String shareRate;

    /**
     * 视频带货数据
     */
    @ApiModelProperty(value="点击次数")
    private Integer clickCnt;

    @ApiModelProperty(value="点击人次")
    private Integer clickUserCnt;

    @ApiModelProperty(value="购买次数")
    private Integer buyCnt;

    @ApiModelProperty(value="购买人数")
    private Integer buyUserCnt;

    @ApiModelProperty(value="点击转换率")
    private String clickBuyRate;

    @ApiModelProperty(value="收入")
    private BigDecimal money;


    @JsonIgnore
    @ApiModelProperty(value="完播次数")
    private Integer completeCnt;

    @JsonIgnore
    @ApiModelProperty(value="播放总时长")
    private BigDecimal totalDuration;

    @JsonIgnore
    @ApiModelProperty(value="收藏量")
    private Integer collectionCnt;
}
